package cliente;

import java.rmi.Naming;
import java.rmi.RMISecurityManager;
import java.util.ArrayList;

import rmi.*;

public class ClienteODV {
static InterfazRemotaODV ir;
	
    public boolean getStub() {
    	System.setProperty("java.security.policy", "java.policy");
    	boolean ok = false;
    	try {
    		System.setSecurityManager(new RMISecurityManager());
			ir = (InterfazRemotaODV)Naming.lookup ("//localhost/ObjetoRemotoODV");
			System.out.println("Obtenido el servicio remoto ODV");
			ok = true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return ok;
    }
    
    public void altaDeCliente(String cuil, String razonSocial, float recargo30,float recargo60, float descuentoCtdo, String condicionIVA){
    	try {
			ir.altaDeCliente(cuil, razonSocial, recargo30, recargo60, descuentoCtdo,condicionIVA);
		} catch (Exception e) {
			System.out.println (e.toString());
		}
    }
    
    public void cargarSolicitudDeCotizacion (String archivo){
    	try {
    		ir.cargarSolicitudDeCotizacion(archivo);
		} catch (Exception e) {
			System.out.println (e.toString());
		}
    }
    
    public String generarCotizacionSolicitud(int numero, String fecha){
    	String cotizacionXML = null;
    	try {
    		cotizacionXML = ir.generarCotizacionSolicitud(numero,fecha);
		} catch (Exception e) {
			System.out.println (e.toString());
		}
		return cotizacionXML;
    }
    
    public void cargarOrdenDePedido (String archivo){
    	try {
    		ir.cargarOrdenDePedido(archivo);
		} catch (Exception e) {
			System.out.println (e.toString());
		}
    }
    
    public ArrayList<String> generarRemitos(){
    	try {
			return ir.generarRemitos();
		} catch (Exception e) {
			System.out.println (e.toString());
		}
		return null;
    }
    
     public String generarFacturaCliente(String cuil, String formaDePago){
    	 try {
			return ir.generarFacturaCliente(cuil,formaDePago);
		} catch (Exception e) {
			System.out.println (e.toString());
		}
		return null;
     }
}
